package game

import (
	"bufio"
	"encoding/json"
	"fmt"
	"net"
)

func TestGM2() {
	// 服务器 IP 和端口
	host := "10.16.168.54"
	port := 12453

	// 创建 TCP 连接
	conn, err := net.Dial("tcp", fmt.Sprintf("%s:%d", host, port))
	if err != nil {
		fmt.Printf("无法连接到服务器: %v\n", err)
		return
	}
	defer conn.Close()

	fmt.Println("已连接到服务器")

	// 创建 bufio.Writer 进行缓冲写入
	writer := bufio.NewWriter(conn)

	// JSON 数据
	data := map[string]interface{}{
		"ab":  1699545600,
		"ae":  1699977600,
		"aae": 1699977600,
		"aab": 1699545600,
		"ztt": "3029",
		"pa": map[string]interface{}{
			"nam": "测试活动",
			"cid": "1",
			"dcp": "1111",
			"gr":  []interface{}{},
		},
		"id":   16712,
		"type": 156,
		"rm":   false}

	// 转换为 JSON 字符串
	jsonData, err := json.Marshal(data)
	if err != nil {
		fmt.Printf("JSON 转换出错: %v\n", err)
		return
	}

	// 向服务器发送数据
	_, err = fmt.Fprintf(writer, "%s\n", jsonData)
	if err != nil {
		fmt.Printf("发送数据出错: %v\n", err)
		return
	}

	// 刷新缓冲并发送数据
	err = writer.Flush()
	if err != nil {
		fmt.Printf("刷新缓冲出错: %v\n", err)
		return
	}

	fmt.Println("数据已发送")

	// 等待用户输入，以便保持连接
	fmt.Println("按回车键退出程序")
	fmt.Scanln()
}
